Deterministic Multithreading for Java-based Replicated Objects
نویسندگان
چکیده
This paper describes a novel approach to deterministic multithreading for active replication of Java objects. Unlike other existing approaches, the presented deterministic thread scheduler fully supports the native Java synchronisation mechanisms, including reentrant locks, condition variables, and time bounds on wait operations. Furthermore, this paper proposes source-code transformation as a novel approach for intercepting Java synchronisation statements. This allows the reuse of existing object implementations and simplifies application development.
منابع مشابه
Multithreading Strategies for Replicated Objects
Replicating objects usually requires deterministic behaviour for maintaining a consistent state. Multithreading is a critical source of non-determinism, completely unsupported in most fault-tolerant middleware systems. Recent publications have de ned deterministic scheduling algorithms that operate at the middleware level and allow multithreading for replicated objects. This approach avoids dea...
متن کاملDOSGi: An Architecture for Instant Replication
Replicating off-the-shelf Java applications is difficult due to the inherent non-determinism of standard Java libraries and multithreading. We propose an OSGi-based architecture that makes applications deterministic at deployment time.
متن کاملFault-Tolerant Replication Based on Fragmented Objects
This paper describes a novel approach to fault-tolerance in distributed object-based systems. It uses the fragmented-object model to integrate replication mechanisms into distributed applications. This approach enables the use of customised code on a per-object basis to access replica groups and to manage consistency. The addition of fault tolerance to the infrastructure has only little overhea...
متن کاملDesign of the Kan distributed object system
Distributed software problems are often addressed with object-oriented solutions. Objects provide the benefits of encapsulation and abstraction that have proven useful in managing the complexity of sequential code. However, the management of distributed objects is typically by means of complex APIs, such as CORBA, DCOM, or Java RMI. The complexity of the APIs is itself a hurdle to the writing o...
متن کاملHandling Emergent Nondeterminism in Replicated Services
When distributed applications are replicated for fault tolerance, the presence of even a single nondeterministic service can lead to emergent system-wide nondeterminism that compromises replica consistency. Our approach, Midas identifies and addresses multiple sources of nondeterminism (including system calls, multithreading, etc.) in a multi-service replicated distributed architecture. Midas i...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2006